package com.zbkj.crmeb.export.service;

import com.common.CommonPage;
import com.common.PageParamRequest;
import com.zbkj.crmeb.agent.request.SettlementRequest;
import com.zbkj.crmeb.agent.response.SettlementResponse;
import com.zbkj.crmeb.export.vo.*;
import com.zbkj.crmeb.finance.request.GetListRequest;
import com.zbkj.crmeb.finance.response.UserRechargeResponse;
import com.zbkj.crmeb.store.model.StoreOrderInfo;
import com.zbkj.crmeb.store.model.StoreProductNorm;
import com.zbkj.crmeb.store.request.StoreProductSearchRequest;
import com.zbkj.crmeb.store.response.StoreProductNormKeywordResponse;
import com.zbkj.crmeb.store.response.StoreProductResponse;
import com.zbkj.crmeb.system.response.StoreOrderItemResponse;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author Mr.Zhang
* @Description StoreProductService 接口
* @since 2020-05-06
*/
public interface ExcelService{
    List<ProductExcelVo> product(StoreProductSearchRequest request);

    List<StoreProductNormExcelVo> convertStoreProductNormList(List<StoreProductNorm> list);

    List<StoreProductNormCodeExcelVo> convertNormCodeList(List<StoreProductNorm> list);

    List<StoreProductCodeExcelVo> convertProductCodeList(List<StoreProductNormKeywordResponse> list);

    void parseList(List<ProductExcelVo> list);

    List<MerFlowExcelVo> getMerFlowList(Integer merId, Integer type, PageParamRequest request);

    List<UserRechargeResponse> getMerSettlementList(GetListRequest request);

    List<LogisticsExcelVo> logisticsExport(List<StoreOrderInfo> logisticsList);

    List<MerFlowExcelVo> getAgentFlowList(Integer agentId, Integer type, PageParamRequest request);

    List<SettlementResponse> getAgentSettlementList(SettlementRequest request);

}
